// pages/search/search.js
import regeneratorRuntime from '../../lib/runtime/runtime';
import { getSearchList } from '../../network/search.js';

// 1. 防抖动: 定时器 节流
// 0. 防抖 一般 输入框中防止重复输入重复发送请求
// 2. 节流
// 0. 上拉下拉



Page({

  /**
   * 页面的初始数据
   */
  data: {
    goods: [],
    buttonVisible: true,
    inputValue: ''
  },
  TimeId: null,
  // =================== 发送请求 =================
  async __getSearchList(query) {
    const res = await getSearchList({ query })
    console.log(res)
    this.setData({
      goods: res
    })
  },
  // =================== 事件监听 =================
  handleInput(e) {
    const { value } = e.detail;

    if (!value.trim()) {
      this.setData({
        buttonVisible: true,
        goods: []
      })
      return
    }
    this.setData({
      buttonVisible: false
    })

    clearTimeout(this.TimeId)
    this.TimeId = setTimeout(() => {
      this.__getSearchList(value)

    }, 1000)
  },
  // 点击取消按钮
  handleCancel(){
    this.setData({
      goods: [],
      buttonVisible: true,
      inputValue: ''
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})